
function func238(e, t, o) {
  "use strict";
  o.r(t), o.d(t, "MemoryRouter", (function memoryRouterMethod() {
    return w
  })), o.d(t, "Prompt", (function promptMethod() {
    return x
  })), o.d(t, "Redirect", (function redirectMethod() {
    return X
  })), o.d(t, "Route", (function routeMethod() {
    return q
  })), o.d(t, "Router", (function routerMethod() {
    return H
  })), o.d(t, "StaticRouter", (function staticRouterMethod() {
    return oe
  })), o.d(t, "Switch", (function switchMethod() {
    return ne
  })), o.d(t, "generatePath", (function generatePathMethod() {
    return Y
  })), o.d(t, "matchPath", (function matchPathMethod() {
    return J
  })), o.d(t, "useHistory", (function useHistoryMethod() {
    return re
  })), o.d(t, "useLocation", (function useLocationMethod() {
    return le
  })), o.d(t, "useParams", (function useParamsMethod() {
    return se
  })), o.d(t, "useRouteMatch", (function useRouteMatchMethod() {
    return Ee
  })), o.d(t, "withRouter", (function withRouterMethod() {
    return ie
  })), o.d(t, "BrowserRouter", (function browserRouterMethod() {
    return Oe
  })), o.d(t, "HashRouter", (function hashRouterMethod() {
    return _e
  })), o.d(t, "Link", (function linkMethod() {
    return Ne
  })), o.d(t, "NavLink", (function navLinkMethod() {
    return Re
  }));
  var n = o(6),
    i = o(0),
    a = o.n(i),
    r = (o(14), o(1));

  function l(e) {
    return "/" === e.charAt(0)
  }

  function s(e, t) {
    for (var o = t, n = o + 1, i = e.length; n < i; o += 1, n += 1) e[o] = e[n];
    e.pop()
  }
  var E = function(e, t) {
    void 0 === t && (t = "");
    var o, n = e && e.split("/") || [],
      i = t && t.split("/") || [],
      a = e && l(e),
      r = t && l(t),
      E = a || r;
    if (e && l(e) ? i = n : n.length && (i.pop(), i = i.concat(n)), !i.length) return "/";
    if (i.length) {
      var O = i[i.length - 1];
      o = "." === O || ".." === O || "" === O
    } else o = !1;
    for (var _ = 0, T = i.length; T >= 0; T--) {
      var c = i[T];
      "." === c ? s(i, T) : ".." === c ? (s(i, T), _++) : _ && (s(i, T), _--)
    }
    if (!E)
      for (; _--; _) i.unshift("..");
    !E || "" === i[0] || i[0] && l(i[0]) || i.unshift("");
    var u = i.join("/");
    return o && "/" !== u.substr(-1) && (u += "/"), u
  };

  function O(e) {
    return e.valueOf ? e.valueOf() : Object.prototype.valueOf.call(e)
  }
  var _ = function e(t, o) {
    if (t === o) return !0;
    if (null == t || null == o) return !1;
    if (Array.isArray(t)) return Array.isArray(o) && t.length === o.length && t.every((function(t, n) {
      return e(t, o[n])
    }));
    if ("object" == typeof t || "object" == typeof o) {
      var n = O(t),
        i = O(o);
      return n !== t || i !== o ? e(n, i) : Object.keys(Object.assign({}, t, o))
        .every((function(n) {
          return e(t[n], o[n])
        }))
    }
    return !1
  };
  var T = function(e, t) {
    if (!e) throw new Error("Invariant failed")
  };

  function c(e) {
    return "/" === e.charAt(0) ? e : "/" + e
  }

  function u(e) {
    return "/" === e.charAt(0) ? e.substr(1) : e
  }

  function g(e, t) {
    return function(e, t) {
      return 0 === e.toLowerCase()
        .indexOf(t.toLowerCase()) && -1 !== "/?#".indexOf(e.charAt(t.length))
    }(e, t) ? e.substr(t.length) : e
  }

  function S(e) {
    return "/" === e.charAt(e.length - 1) ? e.slice(0, -1) : e
  }

  function N(e) {
    var t = e.pathname,
      o = e.search,
      n = e.hash,
      i = t || "/";
    return o && "?" !== o && (i += "?" === o.charAt(0) ? o : "?" + o), n && "#" !== n && (i += "#" === n.charAt(0) ? n : "#" + n), i
  }

  function A(e, t, o, n) {
    var i;
    "string" == typeof e ? (i = function(e) {
        var t = e || "/",
          o = "",
          n = "",
          i = t.indexOf("#"); - 1 !== i && (n = t.substr(i), t = t.substr(0, i));
        var a = t.indexOf("?");
        return -1 !== a && (o = t.substr(a), t = t.substr(0, a)), {
          pathname: t,
          search: "?" === o ? "" : o,
          hash: "#" === n ? "" : n
        }
      }(e))
      .state = t : (void 0 === (i = Object(r.a)({}, e))
        .pathname && (i.pathname = ""), i.search ? "?" !== i.search.charAt(0) && (i.search = "?" + i.search) : i.search = "", i.hash ? "#" !== i.hash.charAt(0) && (i.hash = "#" + i.hash) : i.hash = "", void 0 !== t && void 0 === i.state && (i.state = t));
    try {
      i.pathname = decodeURI(i.pathname)
    } catch (e) {
      throw e instanceof URIError ? new URIError('Pathname "' + i.pathname + '" could not be decoded. This is likely caused by an invalid percent-encoding.') : e
    }
    return o && (i.key = o), n ? i.pathname ? "/" !== i.pathname.charAt(0) && (i.pathname = E(i.pathname, n.pathname)) : i.pathname = n.pathname : i.pathname || (i.pathname = "/"), i
  }

  function d() {
    var e = null;
    var t = [];
    return {
      setPrompt: function(t) {
        return e = t,
          function() {
            e === t && (e = null)
          }
      },
      confirmTransitionTo: function(t, o, n, i) {
        if (null != e) {
          var a = "function" == typeof e ? e(t, o) : e;
          "string" == typeof a ? "function" == typeof n ? n(a, i) : i(!0) : i(!1 !== a)
        } else i(!0)
      },
      appendListener: function(e) {
        var o = !0;

        function n() {
          o && e.apply(void 0, arguments)
        }
        return t.push(n),
          function() {
            o = !1, t = t.filter((function(e) {
              return e !== n
            }))
          }
      },
      notifyListeners: function() {
        for (var e = arguments.length, o = new Array(e), n = 0; n < e; n++) o[n] = arguments[n];
        t.forEach((function(e) {
          return e.apply(void 0, o)
        }))
      }
    }
  }
  var R = !("undefined" == typeof window || !window.document || !window.document.createElement);

  function h(e, t) {
    t(window.confirm(e))
  }

  function p() {
    try {
      return window.history.state || {}
    } catch (e) {
      return {}
    }
  }

  function I(e) {
    void 0 === e && (e = {}), R || T(!1);
    var t, o = window.history,
      n = (-1 === (t = window.navigator.userAgent)
        .indexOf("Android 2.") && -1 === t.indexOf("Android 4.0") || -1 === t.indexOf("Mobile Safari") || -1 !== t.indexOf("Chrome") || -1 !== t.indexOf("Windows Phone")) && window.history && "pushState" in window.history,
      i = !(-1 === window.navigator.userAgent.indexOf("Trident")),
      a = e,
      l = a.forceRefresh,
      s = void 0 !== l && l,
      E = a.getUserConfirmation,
      O = void 0 === E ? h : E,
      _ = a.keyLength,
      u = void 0 === _ ? 6 : _,
      I = e.basename ? S(c(e.basename)) : "";

    function C(e) {
      var t = e || {},
        o = t.key,
        n = t.state,
        i = window.location,
        a = i.pathname + i.search + i.hash;
      return I && (a = g(a, I)), A(a, n, o)
    }

    function L() {
      return Math.random()
        .toString(36)
        .substr(2, u)
    }
    var m = d();

    function f(e) {
      Object(r.a)(H, e), H.length = o.length, m.notifyListeners(H.location, H.action)
    }

    function y(e) {
      (function(e) {
        return void 0 === e.state && -1 === navigator.userAgent.indexOf("CriOS")
      })(e) || B(C(e.state))
    }

    function D() {
      B(C(p()))
    }
    var k = !1;

    function B(e) {
      if (k) k = !1, f();
      else {
        m.confirmTransitionTo(e, "POP", O, (function(t) {
          t ? f({
            action: "POP",
            location: e
          }) : function(e) {
            var t = H.location,
              o = v.indexOf(t.key); - 1 === o && (o = 0);
            var n = v.indexOf(e.key); - 1 === n && (n = 0);
            var i = o - n;
            i && (k = !0, b(i))
          }(e)
        }))
      }
    }
    var M = C(p()),
      v = [M.key];

    function P(e) {
      return I + N(e)
    }

    function b(e) {
      o.go(e)
    }
    var G = 0;

    function U(e) {
      1 === (G += e) && 1 === e ? (window.addEventListener("popstate", y), i && window.addEventListener("hashchange", D)) : 0 === G && (window.removeEventListener("popstate", y), i && window.removeEventListener("hashchange", D))
    }
    var F = !1;
    var H = {
      length: o.length,
      action: "POP",
      location: M,
      createHref: P,
      push: function(e, t) {
        var i = A(e, t, L(), H.location);
        m.confirmTransitionTo(i, "PUSH", O, (function(e) {
          if (e) {
            var t = P(i),
              a = i.key,
              r = i.state;
            if (n)
              if (o.pushState({
                key: a,
                state: r
              }, null, t), s) window.location.href = t;
              else {
                var l = v.indexOf(H.location.key),
                  E = v.slice(0, l + 1);
                E.push(i.key), v = E, f({
                  action: "PUSH",
                  location: i
                })
              }
            else window.location.href = t
          }
        }))
      },
      replace: function(e, t) {
        var i = A(e, t, L(), H.location);
        m.confirmTransitionTo(i, "REPLACE", O, (function(e) {
          if (e) {
            var t = P(i),
              a = i.key,
              r = i.state;
            if (n)
              if (o.replaceState({
                key: a,
                state: r
              }, null, t), s) window.location.replace(t);
              else {
                var l = v.indexOf(H.location.key); - 1 !== l && (v[l] = i.key), f({
                  action: "REPLACE",
                  location: i
                })
              }
            else window.location.replace(t)
          }
        }))
      },
      go: b,
      goBack: function() {
        b(-1)
      },
      goForward: function() {
        b(1)
      },
      block: function(e) {
        void 0 === e && (e = !1);
        var t = m.setPrompt(e);
        return F || (U(1), F = !0),
          function() {
            return F && (F = !1, U(-1)), t()
          }
      },
      listen: function(e) {
        var t = m.appendListener(e);
        return U(1),
          function() {
            U(-1), t()
          }
      }
    };
    return H
  }
  var C = {
    hashbang: {
      encodePath: function(e) {
        return "!" === e.charAt(0) ? e : "!/" + u(e)
      },
      decodePath: function(e) {
        return "!" === e.charAt(0) ? e.substr(1) : e
      }
    },
    noslash: {
      encodePath: u,
      decodePath: c
    },
    slash: {
      encodePath: c,
      decodePath: c
    }
  };

  function L(e) {
    var t = e.indexOf("#");
    return -1 === t ? e : e.slice(0, t)
  }

  function m() {
    var e = window.location.href,
      t = e.indexOf("#");
    return -1 === t ? "" : e.substring(t + 1)
  }

  function f(e) {
    window.location.replace(L(window.location.href) + "#" + e)
  }

  function y(e) {
    void 0 === e && (e = {}), R || T(!1);
    var t = window.history,
      o = (window.navigator.userAgent.indexOf("Firefox"), e),
      n = o.getUserConfirmation,
      i = void 0 === n ? h : n,
      a = o.hashType,
      l = void 0 === a ? "slash" : a,
      s = e.basename ? S(c(e.basename)) : "",
      E = C[l],
      O = E.encodePath,
      _ = E.decodePath;

    function u() {
      var e = _(m());
      return s && (e = g(e, s)), A(e)
    }
    var p = d();

    function I(e) {
      Object(r.a)(H, e), H.length = t.length, p.notifyListeners(H.location, H.action)
    }
    var y = !1,
      D = null;

    function k() {
      var e, t, o = m(),
        n = O(o);
      if (o !== n) f(n);
      else {
        var a = u(),
          r = H.location;
        if (!y && (t = a, (e = r)
          .pathname === t.pathname && e.search === t.search && e.hash === t.hash)) return;
        if (D === N(a)) return;
        D = null,
          function(e) {
            if (y) y = !1, I();
            else {
              p.confirmTransitionTo(e, "POP", i, (function(t) {
                t ? I({
                  action: "POP",
                  location: e
                }) : function(e) {
                  var t = H.location,
                    o = P.lastIndexOf(N(t)); - 1 === o && (o = 0);
                  var n = P.lastIndexOf(N(e)); - 1 === n && (n = 0);
                  var i = o - n;
                  i && (y = !0, b(i))
                }(e)
              }))
            }
          }(a)
      }
    }
    var B = m(),
      M = O(B);
    B !== M && f(M);
    var v = u(),
      P = [N(v)];

    function b(e) {
      t.go(e)
    }
    var G = 0;

    function U(e) {
      1 === (G += e) && 1 === e ? window.addEventListener("hashchange", k) : 0 === G && window.removeEventListener("hashchange", k)
    }
    var F = !1;
    var H = {
      length: t.length,
      action: "POP",
      location: v,
      createHref: function(e) {
        var t = document.querySelector("base"),
          o = "";
        return t && t.getAttribute("href") && (o = L(window.location.href)), o + "#" + O(s + N(e))
      },
      push: function(e, t) {
        var o = A(e, void 0, void 0, H.location);
        p.confirmTransitionTo(o, "PUSH", i, (function(e) {
          if (e) {
            var t = N(o),
              n = O(s + t);
            if (m() !== n) {
              D = t,
                function(e) {
                  window.location.hash = e
                }(n);
              var i = P.lastIndexOf(N(H.location)),
                a = P.slice(0, i + 1);
              a.push(t), P = a, I({
                action: "PUSH",
                location: o
              })
            } else I()
          }
        }))
      },
      replace: function(e, t) {
        var o = A(e, void 0, void 0, H.location);
        p.confirmTransitionTo(o, "REPLACE", i, (function(e) {
          if (e) {
            var t = N(o),
              n = O(s + t);
            m() !== n && (D = t, f(n));
            var i = P.indexOf(N(H.location)); - 1 !== i && (P[i] = t), I({
              action: "REPLACE",
              location: o
            })
          }
        }))
      },
      go: b,
      goBack: function() {
        b(-1)
      },
      goForward: function() {
        b(1)
      },
      block: function(e) {
        void 0 === e && (e = !1);
        var t = p.setPrompt(e);
        return F || (U(1), F = !0),
          function() {
            return F && (F = !1, U(-1)), t()
          }
      },
      listen: function(e) {
        var t = p.appendListener(e);
        return U(1),
          function() {
            U(-1), t()
          }
      }
    };
    return H
  }

  function D(e, t, o) {
    return Math.min(Math.max(e, t), o)
  }

  function k(e) {
    void 0 === e && (e = {});
    var t = e,
      o = t.getUserConfirmation,
      n = t.initialEntries,
      i = void 0 === n ? ["/"] : n,
      a = t.initialIndex,
      l = void 0 === a ? 0 : a,
      s = t.keyLength,
      E = void 0 === s ? 6 : s,
      O = d();

    function _(e) {
      Object(r.a)(R, e), R.length = R.entries.length, O.notifyListeners(R.location, R.action)
    }

    function T() {
      return Math.random()
        .toString(36)
        .substr(2, E)
    }
    var c = D(l, 0, i.length - 1),
      u = i.map((function(e) {
        return A(e, void 0, "string" == typeof e ? T() : e.key || T())
      })),
      g = N;

    function S(e) {
      var t = D(R.index + e, 0, R.entries.length - 1),
        n = R.entries[t];
      O.confirmTransitionTo(n, "POP", o, (function(e) {
        e ? _({
          action: "POP",
          location: n,
          index: t
        }) : _()
      }))
    }
    var R = {
      length: u.length,
      action: "POP",
      location: u[c],
      index: c,
      entries: u,
      createHref: g,
      push: function(e, t) {
        var n = A(e, t, T(), R.location);
        O.confirmTransitionTo(n, "PUSH", o, (function(e) {
          if (e) {
            var t = R.index + 1,
              o = R.entries.slice(0);
            o.length > t ? o.splice(t, o.length - t, n) : o.push(n), _({
              action: "PUSH",
              location: n,
              index: t,
              entries: o
            })
          }
        }))
      },
      replace: function(e, t) {
        var n = A(e, t, T(), R.location);
        O.confirmTransitionTo(n, "REPLACE", o, (function(e) {
          e && (R.entries[R.index] = n, _({
            action: "REPLACE",
            location: n
          }))
        }))
      },
      go: S,
      goBack: function() {
        S(-1)
      },
      goForward: function() {
        S(1)
      },
      canGo: function(e) {
        var t = R.index + e;
        return t >= 0 && t < R.entries.length
      },
      block: function(e) {
        return void 0 === e && (e = !1), O.setPrompt(e)
      },
      listen: function(e) {
        return O.appendListener(e)
      }
    };
    return R
  }
  var B = o(56),
    M = o(57),
    v = o.n(M),
    P = (o(34), o(2)),
    b = o(27),
    G = o.n(b),
    U = function(e) {
      var t = Object(B.a)();
      return t.displayName = e, t
    }("Router-History"),
    F = function(e) {
      var t = Object(B.a)();
      return t.displayName = e, t
    }("Router"),
    H = function(e) {
      function t(t) {
        var o;
        return (o = e.call(this, t) || this)
          .state = {
            location: t.history.location
          }, o._isMounted = !1, o._pendingLocation = null, t.staticContext || (o.unlisten = t.history.listen((function(e) {
            o._isMounted ? o.setState({
              location: e
            }) : o._pendingLocation = e
          }))), o
      }
      Object(n.a)(t, e), t.computeRootMatch = function(e) {
        return {
          path: "/",
          url: "/",
          params: {},
          isExact: "/" === e
        }
      };
      var o = t.prototype;
      return o.componentDidMount = function() {
        this._isMounted = !0, this._pendingLocation && this.setState({
          location: this._pendingLocation
        })
      }, o.componentWillUnmount = function() {
        this.unlisten && this.unlisten()
      }, o.render = function() {
        return a.a.createElement(F.Provider, {
          value: {
            history: this.props.history,
            location: this.state.location,
            match: t.computeRootMatch(this.state.location.pathname),
            staticContext: this.props.staticContext
          }
        }, a.a.createElement(U.Provider, {
          children: this.props.children || null,
          value: this.props.history
        }))
      }, t
    }(a.a.Component);
  var w = function(e) {
    function t() {
      for (var t, o = arguments.length, n = new Array(o), i = 0; i < o; i++) n[i] = arguments[i];
      return (t = e.call.apply(e, [this].concat(n)) || this)
        .history = k(t.props), t
    }
    return Object(n.a)(t, e), t.prototype.render = function() {
      return a.a.createElement(H, {
        history: this.history,
        children: this.props.children
      })
    }, t
  }(a.a.Component);
  var K = function(e) {
    function t() {
      return e.apply(this, arguments) || this
    }
    Object(n.a)(t, e);
    var o = t.prototype;
    return o.componentDidMount = function() {
      this.props.onMount && this.props.onMount.call(this, this)
    }, o.componentDidUpdate = function(e) {
      this.props.onUpdate && this.props.onUpdate.call(this, this, e)
    }, o.componentWillUnmount = function() {
      this.props.onUnmount && this.props.onUnmount.call(this, this)
    }, o.render = function() {
      return null
    }, t
  }(a.a.Component);

  function x(e) {
    var t = e.message,
      o = e.when,
      n = void 0 === o || o;
    return a.a.createElement(F.Consumer, null, (function(e) {
      if (e || T(!1), !n || e.staticContext) return null;
      var o = e.history.block;
      return a.a.createElement(K, {
        onMount: function(e) {
          e.release = o(t)
        },
        onUpdate: function(e, n) {
          n.message !== t && (e.release(), e.release = o(t))
        },
        onUnmount: function(e) {
          e.release()
        },
        message: t
      })
    }))
  }
  var W = {},
    V = 0;

  function Y(e, t) {
    return void 0 === e && (e = "/"), void 0 === t && (t = {}), "/" === e ? e : function(e) {
      if (W[e]) return W[e];
      var t = v.a.compile(e);
      return V < 1e4 && (W[e] = t, V++), t
    }(e)(t, {
      pretty: !0
    })
  }

  function X(e) {
    var t = e.computedMatch,
      o = e.to,
      n = e.push,
      i = void 0 !== n && n;
    return a.a.createElement(F.Consumer, null, (function(e) {
      e || T(!1);
      var n = e.history,
        l = e.staticContext,
        s = i ? n.push : n.replace,
        E = A(t ? "string" == typeof o ? Y(o, t.params) : Object(r.a)({}, o, {
          pathname: Y(o.pathname, t.params)
        }) : o);
      return l ? (s(E), null) : a.a.createElement(K, {
        onMount: function() {
          s(E)
        },
        onUpdate: function(e, t) {
          var o, n, i = A(t.to);
          o = i, n = Object(r.a)({}, E, {
            key: i.key
          }), o.pathname === n.pathname && o.search === n.search && o.hash === n.hash && o.key === n.key && _(o.state, n.state) || s(E)
        },
        to: o
      })
    }))
  }
  var j = {},
    z = 0;

  function J(e, t) {
    void 0 === t && (t = {}), ("string" == typeof t || Array.isArray(t)) && (t = {
      path: t
    });
    var o = t,
      n = o.path,
      i = o.exact,
      a = void 0 !== i && i,
      r = o.strict,
      l = void 0 !== r && r,
      s = o.sensitive,
      E = void 0 !== s && s;
    return [].concat(n)
      .reduce((function(t, o) {
        if (!o && "" !== o) return null;
        if (t) return t;
        var n = function(e, t) {
            var o = "" + t.end + t.strict + t.sensitive,
              n = j[o] || (j[o] = {});
            if (n[e]) return n[e];
            var i = [],
              a = {
                regexp: v()(e, i, t),
                keys: i
              };
            return z < 1e4 && (n[e] = a, z++), a
          }(o, {
            end: a,
            strict: l,
            sensitive: E
          }),
          i = n.regexp,
          r = n.keys,
          s = i.exec(e);
        if (!s) return null;
        var O = s[0],
          _ = s.slice(1),
          T = e === O;
        return a && !T ? null : {
          path: o,
          url: "/" === o && "" === O ? "/" : O,
          isExact: T,
          params: r.reduce((function(e, t, o) {
            return e[t.name] = _[o], e
          }), {})
        }
      }), null)
  }
  var q = function(e) {
    function t() {
      return e.apply(this, arguments) || this
    }
    return Object(n.a)(t, e), t.prototype.render = function() {
      var e = this;
      return a.a.createElement(F.Consumer, null, (function(t) {
        t || T(!1);
        var o = e.props.location || t.location,
          n = e.props.computedMatch ? e.props.computedMatch : e.props.path ? J(o.pathname, e.props) : t.match,
          i = Object(r.a)({}, t, {
            location: o,
            match: n
          }),
          l = e.props,
          s = l.children,
          E = l.component,
          O = l.render;
        return Array.isArray(s) && 0 === s.length && (s = null), a.a.createElement(F.Provider, {
          value: i
        }, i.match ? s ? "function" == typeof s ? s(i) : s : E ? a.a.createElement(E, i) : O ? O(i) : null : "function" == typeof s ? s(i) : null)
      }))
    }, t
  }(a.a.Component);

  function Z(e) {
    return "/" === e.charAt(0) ? e : "/" + e
  }

  function Q(e, t) {
    if (!e) return t;
    var o = Z(e);
    return 0 !== t.pathname.indexOf(o) ? t : Object(r.a)({}, t, {
      pathname: t.pathname.substr(o.length)
    })
  }

  function $(e) {
    return "string" == typeof e ? e : N(e)
  }

  function ee(e) {
    return function() {
      T(!1)
    }
  }

  function te() {}
  var oe = function(e) {
    function t() {
      for (var t, o = arguments.length, n = new Array(o), i = 0; i < o; i++) n[i] = arguments[i];
      return (t = e.call.apply(e, [this].concat(n)) || this)
        .handlePush = function(e) {
          return t.navigateTo(e, "PUSH")
        }, t.handleReplace = function(e) {
          return t.navigateTo(e, "REPLACE")
        }, t.handleListen = function() {
          return te
        }, t.handleBlock = function() {
          return te
        }, t
    }
    Object(n.a)(t, e);
    var o = t.prototype;
    return o.navigateTo = function(e, t) {
      var o = this.props,
        n = o.basename,
        i = void 0 === n ? "" : n,
        a = o.context,
        l = void 0 === a ? {} : a;
      l.action = t, l.location = function(e, t) {
        return e ? Object(r.a)({}, t, {
          pathname: Z(e) + t.pathname
        }) : t
      }(i, A(e)), l.url = $(l.location)
    }, o.render = function() {
      var e = this.props,
        t = e.basename,
        o = void 0 === t ? "" : t,
        n = e.context,
        i = void 0 === n ? {} : n,
        l = e.location,
        s = void 0 === l ? "/" : l,
        E = Object(P.a)(e, ["basename", "context", "location"]),
        O = {
          createHref: function(e) {
            return Z(o + $(e))
          },
          action: "POP",
          location: Q(o, A(s)),
          push: this.handlePush,
          replace: this.handleReplace,
          go: ee(),
          goBack: ee(),
          goForward: ee(),
          listen: this.handleListen,
          block: this.handleBlock
        };
      return a.a.createElement(H, Object(r.a)({}, E, {
        history: O,
        staticContext: i
      }))
    }, t
  }(a.a.Component);
  var ne = function(e) {
    function t() {
      return e.apply(this, arguments) || this
    }
    return Object(n.a)(t, e), t.prototype.render = function() {
      var e = this;
      return a.a.createElement(F.Consumer, null, (function(t) {
        t || T(!1);
        var o, n, i = e.props.location || t.location;
        return a.a.Children.forEach(e.props.children, (function(e) {
          if (null == n && a.a.isValidElement(e)) {
            o = e;
            var l = e.props.path || e.props.from;
            n = l ? J(i.pathname, Object(r.a)({}, e.props, {
              path: l
            })) : t.match
          }
        })), n ? a.a.cloneElement(o, {
          location: i,
          computedMatch: n
        }) : null
      }))
    }, t
  }(a.a.Component);

  function ie(e) {
    var t = "withRouter(" + (e.displayName || e.name) + ")",
      o = function(t) {
        var o = t.wrappedComponentRef,
          n = Object(P.a)(t, ["wrappedComponentRef"]);
        return a.a.createElement(F.Consumer, null, (function(t) {
          return t || T(!1), a.a.createElement(e, Object(r.a)({}, n, t, {
            ref: o
          }))
        }))
      };
    return o.displayName = t, o.WrappedComponent = e, G()(o, e)
  }
  var ae = a.a.useContext;

  function re() {
    return ae(U)
  }

  function le() {
    return ae(F)
      .location
  }

  function se() {
    var e = ae(F)
      .match;
    return e ? e.params : {}
  }

  function Ee(e) {
    var t = le(),
      o = ae(F)
      .match;
    return e ? J(t.pathname, e) : o
  }
  var Oe = function(e) {
    function t() {
      for (var t, o = arguments.length, n = new Array(o), i = 0; i < o; i++) n[i] = arguments[i];
      return (t = e.call.apply(e, [this].concat(n)) || this)
        .history = I(t.props), t
    }
    return Object(n.a)(t, e), t.prototype.render = function() {
      return a.a.createElement(H, {
        history: this.history,
        children: this.props.children
      })
    }, t
  }(a.a.Component);
  var _e = function(e) {
    function t() {
      for (var t, o = arguments.length, n = new Array(o), i = 0; i < o; i++) n[i] = arguments[i];
      return (t = e.call.apply(e, [this].concat(n)) || this)
        .history = y(t.props), t
    }
    return Object(n.a)(t, e), t.prototype.render = function() {
      return a.a.createElement(H, {
        history: this.history,
        children: this.props.children
      })
    }, t
  }(a.a.Component);
  var Te = function(e, t) {
      return "function" == typeof e ? e(t) : e
    },
    ce = function(e, t) {
      return "string" == typeof e ? A(e, null, null, t) : e
    },
    ue = function(e) {
      return e
    },
    ge = a.a.forwardRef;
  void 0 === ge && (ge = ue);
  var Se = ge((function(e, t) {
    var o = e.innerRef,
      n = e.navigate,
      i = e.onClick,
      l = Object(P.a)(e, ["innerRef", "navigate", "onClick"]),
      s = l.target,
      E = Object(r.a)({}, l, {
        onClick: function(e) {
          try {
            i && i(e)
          } catch (t) {
            throw e.preventDefault(), t
          }
          e.defaultPrevented || 0 !== e.button || s && "_self" !== s || function(e) {
            return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)
          }(e) || (e.preventDefault(), n())
        }
      });
    return E.ref = ue !== ge && t || o, a.a.createElement("a", E)
  }));
  var Ne = ge((function(e, t) {
      var o = e.component,
        n = void 0 === o ? Se : o,
        i = e.replace,
        l = e.to,
        s = e.innerRef,
        E = Object(P.a)(e, ["component", "replace", "to", "innerRef"]);
      return a.a.createElement(F.Consumer, null, (function(e) {
        e || T(!1);
        var o = e.history,
          O = ce(Te(l, e.location), e.location),
          _ = O ? o.createHref(O) : "",
          c = Object(r.a)({}, E, {
            href: _,
            navigate: function() {
              var t = Te(l, e.location);
              (i ? o.replace : o.push)(t)
            }
          });
        return ue !== ge ? c.ref = t || s : c.innerRef = s, a.a.createElement(n, c)
      }))
    })),
    Ae = function(e) {
      return e
    },
    de = a.a.forwardRef;
  void 0 === de && (de = Ae);
  var Re = de((function(e, t) {
    var o = e["aria-current"],
      n = void 0 === o ? "page" : o,
      i = e.activeClassName,
      l = void 0 === i ? "active" : i,
      s = e.activeStyle,
      E = e.className,
      O = e.exact,
      _ = e.isActive,
      c = e.location,
      u = e.sensitive,
      g = e.strict,
      S = e.style,
      N = e.to,
      A = e.innerRef,
      d = Object(P.a)(e, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "sensitive", "strict", "style", "to", "innerRef"]);
    return a.a.createElement(F.Consumer, null, (function(e) {
      e || T(!1);
      var o = c || e.location,
        i = ce(Te(N, o), o),
        R = i.pathname,
        h = R && R.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1"),
        p = h ? J(o.pathname, {
          path: h,
          exact: O,
          sensitive: u,
          strict: g
        }) : null,
        I = !!(_ ? _(p, o) : p),
        C = I ? function() {
          for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++) t[o] = arguments[o];
          return t.filter((function(e) {
              return e
            }))
            .join(" ")
        }(E, l) : E,
        L = I ? Object(r.a)({}, S, {}, s) : S,
        m = Object(r.a)({
          "aria-current": I && n || null,
          className: C,
          style: L,
          to: i
        }, d);
      return Ae !== de ? m.ref = t || A : m.innerRef = A, a.a.createElement(Ne, m)
    }))
  }))
}
